load("//bzl:cpp_library.bzl", "cpp_library")

package(default_visibility = ["//visibility:public"])

cpp_library(
    name = "async_base",
    hdrs = [
        "AsyncBase.h",
    ],
    deps = [
        "//folly/io/async:async_base_class",
    ],
)

cpp_library(
    name = "async_io",
    hdrs = [
        "AsyncIO.h",
    ],
    deps = [
        "//folly/io/async:async_io",
    ],
)

cpp_library(
    name = "liburing",
    hdrs = [
        "Liburing.h",
    ],
    deps = [
        "//folly/io/async:liburing",
    ],
)

cpp_library(
    name = "async_io_uring_socket",
    hdrs = [
        "AsyncIoUringSocket.h",
        "AsyncIoUringSocketFactory.h",
    ],
    deps = [
        "//folly/io/async:async_io_uring_socket",
    ],
)

cpp_library(
    name = "simple_async_io",
    hdrs = [
        "SimpleAsyncIO.h",
    ],
    deps = [
        "//folly/io/async:simple_async_io",
    ],
)

cpp_library(
    name = "epoll",
    hdrs = [
        "Epoll.h",
    ],
    deps = [
        "//folly/io/async:epoll",
    ],
)

cpp_library(
    # @autodeps-skip
    name = "epoll_backend",
    hdrs = [
        "Epoll.h",
        "EpollBackend.h",
    ],
    deps = [
        "//folly/io/async:epoll_backend",
    ],
)

cpp_library(
    name = "event_base_poller",
    hdrs = [
        "EventBasePoller.h",
    ],
    deps = [
        "//folly/io/async:event_base_poller",
    ],
)

cpp_library(
    name = "mux_io_thread_pool_executor",
    hdrs = [
        "MuxIOThreadPoolExecutor.h",
    ],
    deps = [
        "//folly/io/async:mux_io_thread_pool_executor",
    ],
)

cpp_library(
    name = "io_uring",
    hdrs = [
        "IoUring.h",
    ],
    deps = [
        "//folly/io/async:io_uring",
    ],
)

cpp_library(
    name = "io_uring_backend",
    hdrs = [
        "IoUringBackend.h",
        "IoUringBase.h",
    ],
    deps = [
        "//folly/io/async:io_uring_backend",
    ],
)

cpp_library(
    # @autodeps-skip
    name = "io_uring_provided_buffer_ring",
    hdrs = [
        "IoUringBase.h",
        "IoUringProvidedBufferRing.h",
    ],
    deps = [
        "//folly/io/async:io_uring_provided_buffer_ring",
    ],
)

cpp_library(
    name = "io_uring_event",
    hdrs = [
        "IoUringEvent.h",
    ],
    deps = [
        "//folly/io/async:io_uring_event",
    ],
)

cpp_library(
    name = "io_uring_event_base_local",
    hdrs = [
        "IoUringEventBaseLocal.h",
    ],
    deps = [
        "//folly/io/async:io_uring_event_base_local",
    ],
)

cpp_library(
    name = "fs_util",
    hdrs = [
        "FsUtil.h",
    ],
    deps = [
        "//folly/io:fs_util",
    ],
)

cpp_library(
    name = "huge_pages",
    hdrs = [
        "HugePages.h",
    ],
    deps = [
        "//folly/io:huge_pages",
    ],
)
